/* *************************************************************** */
#include <stdio.h>
#include <stdlib.h>

struct node_ {
  void *data;
  struct node_ *next;
};

typedef struct node_* node;
node start;
int size = 0;

/* Retrieve data without removing node  */
void* touch_node(int);
/* Retrieve data and remove node */
void* remove_node(int);
/* Add a node to the beginning of the list */
int add_node(void *);
/* Return the size of the list */
int get_size();
/* Return index of a node using the passed comparison function */
int search_node(void *, int (*)(void *));
